This disclosure relates generally to systems and methods of representing curves and surfaces in computer graphics and computational analysis, and more specifically to systems and methods for generalizing non-uniform rational B-splines as curve and surface representations, as well as to particular applications of the present systems and methods.
Non-Uniform Rational B-Splines (NURBS) are presently one of the most popular curve and surface representations in computer graphics. NURBS have the flexibility to capture analytic geometries such as lines, circles, ellipses, spheres, tori, etc., as well as free-form geometries. Representation of a NURBS structure is compact and unambiguous and can be evaluated efficiently, making NURBS ideal for storage and data exchange. NURBS form the backbone of computer aided design (CAD) and are also used extensively in several applications including material modeling, reverse engineering, manufacturing, isogeometric analysis, and bio-engineering.
There are several known concepts underlying NURBS, such as control points, basis functions, weights, knots, etc. For example, a typical 2D NURBS curve is represented as:
                                                                                          x                  ⁡                                      (                    ξ                    )                                                  =                                                      ∑                                          i                      =                      0                                        n                                    ⁢                                                                                    R                                                  i                          ,                          p                                                                    ⁡                                              (                        ξ                        )                                                              ⁢                                          x                      i                                                                                                                                                                y                  ⁡                                      (                    ξ                    )                                                  =                                                      ∑                                          i                      =                      0                                        n                                    ⁢                                                                                    R                                                  i                          ,                          p                                                                    ⁡                                              (                        ξ                        )                                                              ⁢                                          y                      i                                                                                                          }            ⁢                          ⁢      0        ≤    ξ    ≤    1    ;                    R                  i          ,          p                    ⁡              (        ξ        )              =                                        N                          i              ,              p                                ⁡                      (            ξ            )                          ⁢                  w          i                                      ∑                      j            =            0                    n                ⁢                                            N                              j                ,                p                                      ⁡                          (              ξ              )                                ⁢                      w            j                              where p is the degree of the basis functions, (n+1) is the number of control points, (xi,yi) are the control points, Ri,p(ξ) are the rational basis functions, wi,j are positive weights and Ni,p are the normalized B-spline functions.
In NURBS, the same set of rational basis functions and weights are employed for all coordinates, i.e., modifying a weight or a rational basis function will affect all coordinates. This coupling turns out be essential in CAD to exactly capture popular analytic conic curves and surfaces. Unfortunately, this coupling has been adopted in several applications of NURBS, and is turning out to be a liability in non-CAD applications. For example, the coupled representation of NURBS cannot accurately capture discontinuities and localized gradients in field modeling. To understand this deficiency of NURBS, consider a natural extension of the typical NURBS equation above, where they parametrization is replaced with a field (u) parametrization:
                                                                        x                ⁡                                  (                  ξ                  )                                            =                                                ∑                                      i                    =                    0                                    n                                ⁢                                                                            R                                              i                        ,                        p                                                              ⁡                                          (                      ξ                      )                                                        ⁢                                      x                    i                                                                                                                                          u                ⁡                                  (                  ξ                  )                                            =                                                ∑                                      i                    =                    0                                    n                                ⁢                                                                            R                                              i                        ,                        p                                                              ⁡                                          (                      ξ                      )                                                        ⁢                                      u                    i                                                                                          }        ⁢                  ⁢    0    ≤  ξ  ≤  1The parametrization provides a NURBS field u(x) defined over a one-dimensional geometry. This forms the basis of isogeometric analysis (IGA), which has opened new opportunities in integrating CAD and analysis. Once again, the weights and rational basis functions are coupled, i.e., modifying the weight will affect both the mesh parametrization and the field.
The liability of this coupling is revealed when attempting to fit, or approximate, the field u(x) over a domain [0,1]. Using a suitable NURBS curve-fitting algorithm, of which there are many, a set of control points and knots are defined and then optimized; for a linear mesh parametrization, the optimization leads to a linear least-squares problem. If the field is sufficiently smooth, the approximation can be usefully accurate. However, for rapidly varying functions, the fit can be very poor. The same is true for a field defined over a curved geometry. A classic example is the deflection of a curved beam; the curved beam can be represented in NURBS as x(ξ), y(ξ) and the deflection as u(ξ). All three share the same set of rational basis functions and weights, with several advantages. However, modifying the weights will completely alter the geometry of the curved beam and is therefore disallowed.
While there have been some significant research activities in improving NURBS to handle rapid variations and discontinuities in a function or geometry to be represented, the concept of decoupling the rational basis functions along different directions, as described in this disclosure, has not been explored; as shown herein, the decoupling concept can be used to provide a generalization of NURBS that significantly increases the accuracy of NURBS representations.